Magnetic Pages Article | 1995-09-02 | 18KB | 270 lines
MPARTICLE
I Also da bin ich nun wieder. Frisch aus dem Urlaub zur
ck und die NoCoverC 6 gelesen. Also komme ich jetzt zum zweiten Teil dieses Workshops.
; Ab diesem Teil werde ich die wichtigsten Verzeichnisse der= Workbench vorstellen. Dabei werde ich dazugeh
rige Programme= aus dem C-Verzeichnis erkl
ren. Falls jemand Anregungen oder< Fragen zu bestimmten Themen oder Verzeichnissen hat soll er@ mir sie stellen, meine Addresse steht am Ende dieses Workshops.
E Auf Verzeichnisse, die ihre Existenzberechtigung durch die WorkbenchI erlangen, werde ich nicht eingehen (dazu z
hlen : WBStartup, Utilities).F Aber auch auf die Prefs werde ich nicht eingehen, sie geh
rt ja nicht
direkt zur Shell.
' Weil ja nicht jeder ein Fanatiker ist,+ der unbedingt jeden Begriff ausgeschrieben0 haben m
chte, sind die meisten Verzeichnisnamen' Abk
rzungen die das "Themengebiet" des- Verzeichnisses beschreiben. So steht "C" f
r0 Commands (Kommandos/Befehle). Ich werde deshalb. immer die ausgeschriebene Form einmal angeben. und falls sinnvoll auch eine
bersetzung. Die. Abk
rzungen sind deshalb sinnvoll, weil sonst+ ein Mensch verr
ckt werden k
nnte, wenn er4 t
glich ca. 20 Befehle aus einem Verzeichnis Namens0 "Commands" und nicht Namens "c" aufrufen m
H Ich beginne mit einem Verzeichnis, das einem immer wieder "
ber den WegG laufen" wird. Das Verzeichnis "libs" (Libraries=Bibliotheken) ist einsH der interressantesten. Es enth
lt sog. Bibliotheken, die eigentlich nurF f
r den Programmierer etwas zu bedeuten haben. F
r den NormalanwenderH ist wahrscheinlich folgender Vergleich am besten zu verstehen: In einerD Bibliothek stehen B
cher, die Anleitungen f
r komplizierte Vorg
ngeI enthalten. Also greift der Programmierer auf eine solche Library zur
Aber was hat das ganze jetzt
mit der Shell zu tun? Nun es
gibt ein paar Shell-Programme
die auf diese Libraries
ckgreifen. Soviel erst
einmal zur Theorie. Das
Programm Say aus dem Utilities
Verzeichnis dient zur ausgabe
englischer Texte. Man gibt
einen Text in Buchstaben ein.
Dieser Text wird dann vom
Programm an die "translator.-
library"
bergeben, die eine
Bestimmte Lautschrift! zur
ckliefert. Diese Lautschrift
kann dann vom Amiga in T
umgesetzt werden.
C Eigentlich doch ganz einfach, oder? Aber wenn man jetzt die trans-F lator.library aus dem libs-Verzeichnis l
schen w
rde, w
rde say nichtC mehr funktionieren. Das ist eine Sache, die im Grunde kein ProblemH darstellt, aber wenn man nicht wei
was los ist... Ein wichtiger BefehlC in diesem Zusammenhang ist "version". Er gibt die aktuelle VersionF eines Programms aus, soweit ein Text in folgender Form enthalten ist:F "$VER: <Programmname> V<Release>.<Version> (<Datum>)". Das praktisch,G wenn ein Programm die Meldung "Konnte Library xxx in Version y.z nichtC
ffnen" und man doch die Library im Libs Verzeichnis hat. Man gibt
einfach ein:
- 1.Workbench> version libs/translator.library
% libs/translator.library version 33.2
G Nat
rlich kann man den Version-Befehl nicht nur an Libraries anwenden,B sondern auch an allen anderen Dateien. Wenn aber ein Sting diesesC Formates nicht gefunden wurde, wird eine Fehlermeldung ausgegeben.
, Damit w
hre das zweite Verzeichnis gekl
rt., Und nach so viel Theorie kommen wir zu noch- mehr Theorie. Wir nehmen uns das Verzeichnis+ "devs" (Devices=Ger
te) vor. Wie schon der$ Name erahnen l
t, stehen in diesem/ Verzeichnis alle Daten um ein Ger
E So sieht das Ganze unter WB 1.3 aus. Ab WB 2.04 wird die Liste etwasE k
rzer und ab WB 2.1 verschwindet die Mountlist und es erscheint dasF Verzeichnis "DOSDRIVERS". Ich hab` zwar keine WB 2.1 aber so ungef
hrC sollte das aussehen. Auf jeden Fall stehen dann in dem Verzeichnis< alle eintr
ge, die sonst in der Mountlist gestanden h
tten.
H Aber fangen wir mal an. Im Verzeichnis Keymaps stehen die verschiedenenG Tastaturbelegungen. In der Regel sollte hier nur die Datei "D" stehen.I Ab Kick 2.04 wird man damit sofort konfrontiert, weil man automatisch inE ein Auswahlmenu kommt, um sich die richtige Belegung auszuchen. AberI allein damit, da
die Datei in dem Verzeichnis steht ist es nicht getan.= Man ben
tigt den Befehl "SetMap" aus dem System-Verzeichnis:
1.Workbench> system/setmap d
Aber da zu unserem Zeitpunkt
bereits die deutsche Tastatur-
belegung schon aktiviert ist,
wird sich nicht viel
ndern,
aber ich komme in einem
teren Kursteil wieder
darauf zur
Im Verzeichnis (richtiger
hre eigentlich Unter-
verzeichnis) befinden
sich die Verschiedenen
Druckertreiber. Bei mir
sieht das folgenderma
aus:
# 1.Workbench 1.3> dir devs/printers
* EpsonX[CBM_MPS-1250] generic
G Ein paar Leute werden sich wahrscheinlich fragen, wieso ich hier jetztG "Workbench 1.3" schreibe, da
ist aber ganz einfach, weil es sich hierC um meine ArbeitsWB handelt und nich um meine WorkshopWB. Aber auchH diese Druckertreiber sind nur Dateien und m
en aufgerufen werden. DazuH mu
man in die Prefs und kann dort einen entsprechenden aussuchen. AberG das hilft uns auch noch nicht weiter. Also schauen wir uns noch einmalH das Verzeichnis Devs an (bitte nicht zu
ttern). Und stellen vollerF Freude fest, da
es da noch die Datei "printer.device" gibt. Also wasD passiert jetzt, wenn wir jetzt einfach einen Text ausdrucken lassenF (bis jetzt wahrscheinlich noch mit einer dicken Textverarbeitung aberC es geht auch einfacher)? Das Programm
bergibt die Daten mit HilfeH der Datei "printer.device" in richtung Drucker und das "printer.device"G sucht sich den richtigen Druckertreiber. Jetzt gibt es dabei blo
nochE ein Problem. Woher wei
man welcher Druckertreiber der richtige ist?B Die L
sung steht auch im devs Verzeichnis (Toll nich?). Sieh hei
C "system-configuration". Bis Kick 1.3 speichert sie alle Daten, wieE z.B Farben und den Mauszeiger. Ab Kick 2.04 w
hre das zu umst
ndlich@ und man hat sich ein neues Sytem ausgedacht, das uns aber nicht
weiter angeht.
5 Bleiben noch das "Ramdrive.Device", das wie der Name2 schon sagt, daf
r zust
ndig ist, wenn man das Ram5 also den Speicher als Laufwerk benutzen m
chte. Eine4 M
glichkeit kennt jeder: Die "Ram Disk" und von der3 zweiten haben mit Sicherheit viele schon mal etwas6 geh
rt: Die Rad (resetfeste Ram Disk). Die resetfeste7 Ram Disk wird relativ oft erw
hnt, aber nirgenswo habe7 ich wirklich verstanden, wie man an sie rankommt. Aber
dazu sp
ter in diesem Teil.
G Es gibt dann noch das clipboard.device, das f
r uns vollkommen uninterG ressant ist. Dann noch das "Serial.device", das die direkte verbindungF zur seriellen Schittstelle und das "parallel.device", das die direkteC Verbindung zur parallelen Schnittstelle ist. Wenn man nur Texte imH Standartfont drucken m
chte, mu
man nicht das printer.device benutzen.A Dazu gen
gt voll und ganz direkt die Schnittstelle anzusprechen.
A Als letztes bleibt dann noch die "mounlist", die ich am BeispielA der "Rad" erkl
ren m
chte. Es ist eine Textdatei. Das hei
t, da
> man sie also mit jedem Texteditor ansehen und ver
ndern kann.
Hier einen Ausschitt:
F /* This is an example of a mount list entry for using the recoverableF ram disk. Depending on the amount of memory you wish to devote to1 it, you may want to change the HighCyl value.
$ RAD: Device = ramdrive.device
Unit = 0
Flags = 0
Surfaces = 2
BlocksPerTrack = 11
Reserved = 2
Interleave = 0' LowCyl = 0 ; HighCyl = 79
Buffers = 5
BufMemType = 1
E Hier stehen alle Daten, die man f
r die resetfeste Ram Disk braucht.B (WB 2.1 User m
ten im Verzeichnis "dosdrivers" eine Datei NamensG "Rad" haben, in der dann etwas
hnliches oder gleiches stehen sollte).B Will man in der Datei etwas einf
gen, was nicht direkt dazugeh
rtD (z.B Bemerkungen). M
ssen sie mit "/*" anfangen und mit "*/" enden.F Als erstes kommt dann der Ger
tename (RAD: entspricht df0:, df1:...).@ Dann das Device, das daf
r zust
ndig ist. Die Unitnummer eine 0D entspricht, ist die erste Rad (entspricht df0: bei den Laufwerken).? Flags werden auf Null gesetzt, was bedeutet, das die Rad immerB beschreibbar ist, bei Diskkettenlaufwerken ist das ja anders. DieF n
chsten vier Eintr
rfen nicht ge
ndert werden. Das hei
rfenB schon, aber dadurch kann die Rad funktionunt
chtig werden. LowCylB steht f
r erster Zylinder und sollte ebenfalls so stehen bleiben.E HighCyl ist der letzte Zylinder (hier ist er 79, das entspricht alsoF 80 Zylinder also 880 KB) und kann ge
ndert werden, sollte aber die 79D nicht
berschreiten. Buffers ist der Cachespeicher, um es mal so zuB nennen, er ist ein entscheidender Bestandteil von Laufwerken, einC gro
er Diskbuffer erspart einem viel Ladezeit. Gro
e werte bei derF Rad haben allerdings keinen Sinn weil sich die Daten ja ohnehin schonD im Speicher befinden. Und in buffmemtype wird die Art des SpeichersD f
r den Bufferspeicher angegeben. Und jeder Eintrag zu einem Device" wird mit einem "#" abgeschlossen.
! Jetzt kommen wir zum wichtigsten" Teil wie starte ich sie, bzw. wie# mache ich dem System klar, da
ich% jetzt eine Rad (nicht ein Rad) haben m
chte. Wir m
ssen sie anmelden (mounten) und wenn man sich das! Verzeichnis C anschaut sieht man
die L
sung "mount":
1.Workbench> ed devs/mountlist
I Ach ja. wer bis jetzt noch keinen Editor benutzt hat, kann Ed benutzten.J Man kann die mountlist dann editieren und dann den Editor mit der Tasten-@ folge Escape-Taste, "x", RETURN verlassen, wobei auch die Datei! abgespeichert wird. Also weiter:
1.Workbench> mount rad:
1.Workbench> info
Mounted disks:9 Unit Size Used Free Full Errs Status Name> DF1: 880K 1660 98 94% 0 Read/Write Workbench= RAM: 5K 10 0 100% 0 Read/Write RAM DISK
DF0: No disk present
Volumes available:
Workbench [Mounted]
RAM DISK [Mounted]
! AAAAAAAAH! Wo ist jetzt die Rad?" Nich da ich wei
. Aber ich bin ja# ein Optimist und lasse mir einfach# mal das Inhaltsverzeichnis der Rad
anzeigen:
1.Workbench> dir Rad:
1.Workbench>
$ WAS?!? Keine Fehlermeldung? Schauen
wir mal lieber noch mal nach:
1.Workbench> info
Mounted disks:9 Unit Size Used Free Full Errs Status Name: RAD: 880K 2 1756 0% 0 Read/Write RAMB0> DF1: 880K 1660 98 94% 0 Read/Write Workbench= RAM: 5K 10 0 100% 0 Read/Write RAM DISK
DF0: No Disk present
Volumes available:
RAMB0 [Mounted]
RAM DISK [Mounted]
Workbench [Mounted]
# JAAAAAA! Ich hab` sie. Ich hab` es$ nat
rlich schon vorher gewu
t, aber# darauf mu
man erst einmal kommen.$ Aber warum das alles? Nun der Amiga! ist bekanntlich ein multitasking# Computer, wo viele Tasks noch mehr
Speicher ben
tigen. Also wozu& Speicher f
r ein Laufwerk wie die Rad verschwenden, wenn sie noch nie
tigt wurde?
Jetzt noch ein Kurztest
ob alles auch so
funktioniert hat wie
wir es wollten:
1.Workbench> copy df0: rad: all
@ Nun f
hren wir einen Reset durch und schieben keine Disk in einC Laufwerk. Wer jetzt nicht gerade eine Festplatte hat, sollte sehenA wie die Workbench viel schneller hochgefahren wird und dazu nochC lautlos. Jetzt kann man mit der Rad so arbeiten wie vorher mit der= Workbenchdiskette, blos da
man eben nicht die Speicherchips= auswechseln kann, wenn man andere Daten darauf haben m
chte.
D So falls jetzt aber nicht die Workbench erschienen ist, sondern derC Bootbildschirm, sollte man von Diskette starten und nachschauen obC die Rad noch da ist. Wenn nicht. Nocheinmal alles wiederholen, was; ich weiter oben beschrieben habe. Wenn es immer noch nichtD funktioniert, hat man wahrscheinlich einen Special Agnus (wie ich).
; Anmerkung zum Agnus: Der Agnus ist ein Chip,; der f
r die Speicherverwaltung zust
ndig ist und einem vor: allem sagt, wieviel Chipmem man hat und wieviel man haben; darf. Es gibt aber auch die M
glichkeit, das der Agnus bei: jedem Reset einen Kaltstart durchf
hrt. Ist dies der Fall: ist nach jedem Reset der Speicher leer, absolut leer. Das8 hat zwar seine Vorteile, z.B. ist nach jedem Reset kein; Virus mehr im Speicher, auf gleiche weise werden dann aber; auch resetfeste Programme (z.B. Virenkiller) gekillt. Aber6 man kann auch sicher sein, das einem nach jedem Reset1 wirklich der ganze Speicher zur Verf
gung steht.
4 Nehmen wir noch ein Verzeichnis mit in diesen Teil.4 Das fonts-Verzeichnis. In im sind die Verschiedenen4 Zeichens
tze des Amiga enthalten. Es gibt noch eine7 ganze Reihe mehr als auf den WB Disketten mitgeliefert1 sind. In diesem Zusammenhang ist ein Programm zu1 erw
hnen, das nich von C= geschrieben wurde "ff"4 (FastFonts). Es beschleunigt die Schriftausgabe des
1987 by C.Heath of Microsmiths, Inc" Trying to replace the system font
Replaced TOPAZ80 font
Replaced TOPAZ60 font
Turning on FastText
E Auch hier wird sich nichts
ndern, weil das auch bei jedem start derA Workbench gemacht wird. Dieses Programm arbeitet zwar mit vielenE Fonts nicht zusammen, man kann es aber auch dazu mi
brauchen, um malD etwas Abwechslung in die Workbench zu bringen und mal einen anderenG Fontsatz zu benutzten als den Systemfont. Kick 2.x und 3.x User werdenC sich jetzt fragen was labert der da? Ist doch ganz einfach mit denC Preferences. Aber das ist noch f
r Kick 1.x User ganz anders. AberD soviel dazu, ist ja eigentlich auch nicht ganz so wichtig. Ein fontD besteht aus zwei Teilen: einmal einer Datei XXX.font (XXX steht f
rG einen belibiegen Namen) und einem Verzeichnis XXX, in dem verschiedeneE Dateien stehen, deren Namen nur aus Zahlen bestehen. Die .font DateiB enth
lt allgemeine Daten. Die Nummerdateien enthalten jeweils dieG genauen Daten f
r die jeweilige Gr
e des fonts (also die Buchstaben).
J Auch wenn das Fonts Verzeichnis f
r die Shell relativ uninterressant ist,/ ist es f
r grafisch Oberfl
chen unverzichtbar.
A Nun ich h
tte nicht gedacht so viele Verzeichnisse in einem Teil? abhandeln zu k
nnen, aber ich habe es ja geschafft. Schlu
mit= der Theorie.Im n
chsten Kursteil werde ich dann auf ein paar; Besonderheiten der Shell eingehen und mir das "L"- und das@ "s"-Verzeichnis vorkn
pfen. Und das wird ein Haufen Arbeit. Wem= dieser Workshop gef
llt und m
chte, da
er noch etwas l
ngerA dauert, soll mir schreiben, wer Fragen, Lob oder/und Kritik hat,D soll mir ebenfalls schreiben und wer sonst noch etwas zum Workshop,= zur Shell etc. loswerden will, soll mir ebenfalls schreiben.
C Also Tsch
, auf wiederschreiben/lesen, und was es sonst noch gibt